package cn.wp.ewallet.wallet.service;

import cn.wp.common.core.dto.WpResult;
import cn.wp.ewallet.wallet.model.dto.*;
import cn.wp.ewallet.wmps.model.dto.ProdOrderParamDto;
import cn.wp.ewallet.wmps.model.dto.ProdOrderRelDto;
import org.web3j.tx.Transfer;

import java.math.BigDecimal;

/**
 * @ClassName MoneyChangeService
 * @Author ruixule
 * @Description TODO
 * @Date 2020/1/11 11:16
 */
public interface MoneyChangeService {

    /**
     * 转账
     * @param moneyChangeParamDto
     * @return
     */
    WpResult transferMoney(MoneyChangeParamDto moneyChangeParamDto);
    /**
     * 充值
     * @param moneyChangeParamDto
     * @return
     */
    WpResult rechargeMoney(MoneyChangeParamDto moneyChangeParamDto);

    /**
     * 提币SHQC 申请
     * @param moneyChangeParamDto
     * @return
     */
    WpResult withdrawalMoneyApply(MoneyChangeParamDto moneyChangeParamDto);
    /**
     * 提币SHQC 申请处理
     * @param mentionMoneyDto
     * @return
     */
    WpResult withdrawalMoneyHandle(MentionMoneyDto mentionMoneyDto);

    /**
     * 兑换申请
     * @param exchangeMoneyReqDto
     * @return
     */
    WpResult exchangeMoneyApply(ExchangeMoneyReqDto exchangeMoneyReqDto);

    /**
     * 兑换处理
     * @param exchangeMoneyDto
     * @return
     */
    WpResult exchangeMoneyHandler (ExchangeMoneyDto exchangeMoneyDto);


    /**
     * 定期购买   参数可自定义加入
     * @return
     */
    WpResult buyFinancial(String finaProdId, BigDecimal purchAmount, String isAutoRenewal, String moneyTypeId);
    /**
     * 天天盈 产品   转入
     * @return
     */
    WpResult tiantianyingTransferInto(BigDecimal turnInMoney);

    /**
     * 天天盈转出
     * @return
     */
    WpResult tiantianyingTransferOut(BigDecimal turnOutMoney);
    /**
     * 金钱赎回    参数可自定义加入
     * @return
     */
    WpResult  redemptionMoney(String prodOrderId, String finaProdId);

}
